#!/usr/bin/php
<?php
class calculaPrazo {
  public $endereco; // string
  public $produtos; // string
}

class calculaPrazoResponse {
  public $calculaPrazoReturn; // string
}

class entregaProdutos {
  public $endereco; // string
  public $produtos; // string
  public $remetente; // string
  public $destinatario; // string
  public $idCliente; // int
}

class entregaProdutosResponse {
  public $entregaProdutosReturn; // string
}

class verificaSituacaoEntrega {
  public $protocolo; // int
}

class verificaSituacaoEntregaResponse {
  public $verificaSituacaoEntregaReturn; // string
}

class obterListaDeProtocolos {
  public $idCliente; // string
}

class obterListaDeProtocolosResponse {
  public $obterListaDeProtocolosReturn; // string
}

/**
 * LogisticaEntregaService class
 * 
 *  
 * 
 * @author    {author}
 * @copyright {copyright}
 * @package   {package}
 */
class LogisticaEntregaService extends SoapClient {

  private static $classmap = array(
                                    'calculaPrazo' => 'calculaPrazo',
                                    'calculaPrazoResponse' => 'calculaPrazoResponse',
                                    'entregaProdutos' => 'entregaProdutos',
                                    'entregaProdutosResponse' => 'entregaProdutosResponse',
                                    'verificaSituacaoEntrega' => 'verificaSituacaoEntrega',
                                    'verificaSituacaoEntregaResponse' => 'verificaSituacaoEntregaResponse',
                                    'obterListaDeProtocolos' => 'obterListaDeProtocolos',
                                    'obterListaDeProtocolosResponse' => 'obterListaDeProtocolosResponse',
                                   );

  public function LogisticaEntregaService($wsdl = "LogisticaEntrega.wsdl", $options = array()) {
    foreach(self::$classmap as $key => $value) {
      if(!isset($options['classmap'][$key])) {
        $options['classmap'][$key] = $value;
      }
    }
    parent::__construct($wsdl, $options);
  }

  /**
   *  
   *
   * @param calculaPrazo $parameters
   * @return calculaPrazoResponse
   */
  public function calculaPrazo(calculaPrazo $parameters) {
    return $this->__soapCall('calculaPrazo', array($parameters),       array(
            'uri' => 'http://DefaultNamespace',
            'soapaction' => ''
           )
      );
  }

  /**
   *  
   *
   * @param entregaProdutos $parameters
   * @return entregaProdutosResponse
   */
  public function entregaProdutos(entregaProdutos $parameters) {
    return $this->__soapCall('entregaProdutos', array($parameters),       array(
            'uri' => 'http://DefaultNamespace',
            'soapaction' => ''
           )
      );
  }

  /**
   *  
   *
   * @param verificaSituacaoEntrega $parameters
   * @return verificaSituacaoEntregaResponse
   */
  public function verificaSituacaoEntrega(verificaSituacaoEntrega $parameters) {
    return $this->__soapCall('verificaSituacaoEntrega', array($parameters),       array(
            'uri' => 'http://DefaultNamespace',
            'soapaction' => ''
           )
      );
  }

  /**
   *  
   *
   * @param obterListaDeProtocolos $parameters
   * @return obterListaDeProtocolosResponse
   */
  public function obterListaDeProtocolos(obterListaDeProtocolos $parameters) {
    return $this->__soapCall('obterListaDeProtocolos', array($parameters),       array(
            'uri' => 'http://DefaultNamespace',
            'soapaction' => ''
           )
      );
  }

}

$calculaPrazoClass = new calculaPrazo();
$calculaPrazoClass->{"endereco"} = 1;
$calculaPrazoClass->{"produtos"} = 2;

$soapClass = new LogisticaEntregaService();
$result = $soapClass->calculaPrazo($calculaPrazoClass);

print_r($result);

$entregaProdutosClass = new entregaProdutos();
$entregaProdutosClass->{"endereco"} = "Endereco";
$entregaProdutosClass->{"produtos"} = 2;
$entregaProdutosClass->{"remetente"} = "Remetente";
$entregaProdutosClass->{"destinatario"} = "Destinatario";
$entregaProdutosClass->{"idCliente"} = 24;

$resultEntrega = $soapClass->entregaProdutos($entregaProdutosClass);
print_r($resultEntrega);

$verificaSituacaoEntregaClass = new verificaSituacaoEntrega();

$verificaSituacaoEntregaClass->{"protocolo"} = $resultEntrega->entregaProdutosReturn;

$resultVerificaSituacao = $soapClass->verificaSituacaoEntrega($verificaSituacaoEntregaClass);
print_r($resultVerificaSituacao);

?>
